STEP |
Video enabled ? |
ACTION |
IF ERROR |
COMMENT |
|---|---|---|---|---|
| 1 | No | checkpoint 00 | ||
| 2 | No | Part 1 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
| 3 | No | checkpoint 01 | ||
| 4 | No | Part 2 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
| 5 | No | checkpoint 02 | ||
| 6 | No | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 81 (hex) then halt. | ROM = Ruud's Diagnostic ROM |
| 7 | No | checkpoint 03 | ||
| 8 | No | Quote: 'Initialise the 8255 multi-port chip' | ||
| 9 | No | Quote: 'Make sure that turbo is off and disable memory parity' | ||
| 10 | No | Quote: 'Disable NMI interrupts' | ||
| 11 | No | Quote: 'Enable the expansion unit' | Extender card for IBM 5161. | |
| 12 | No | Quote: 'Disable the CGA and MDA video system ...' | ||
| 13 | No | Quote: 'Initialise the MDA port' | ||
| 14 | No | Quote: 'Initialise the CGA port' | ||
| 15 | No | Look for MDA or CGA video RAM. | If neither found, send checkpoint 8F then halt. | MDA or CGA video card required by this diagnostic. |
| 16 | No | Test 96 bytes of the found video RAM. | If test unsuccessful, send checkpoint 8F then halt. | Video RAM is used by this diagnostic for a stack and many error counters. |
| 17 | No | Initialise MDA or CGA card. | ||
| 18 | No | checkpoint 04 | ||
| 19 | No | Quote: 'Clear the video screen' | ||
| 20 | No | checkpoint 05 | ||
| 21 | No | Quote: 'Set the correct mode', then 'Make the cursor invisible' | ||
| 22 | No | checkpoint 06 | ||
| 23 | Yes | Quote: 'Prepare the RAM for storage' | Zero the error counters that the diagnostic stores in video RAM. | |
| 24 | Yes | checkpoint 07 | ||
| 25 | Yes | On-screen, display the name of the program and the version. | ||
| 26 | Yes | Beep the speaker. | A single beep. | |
| 27 | Yes | checkpoint 08 | ||
| 28 | Yes | Display "Testing CPU" | ||
| 29 | Yes | checkpoint 09 | ||
| 30 | Yes | Part 1 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
| 31 | Yes | checkpoint 0A | ||
| 32 | Yes | Part 2 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
| 33 | Yes | checkpoint 0C | ||
| 34 | Yes | Display "Diagnostic ROM checksum" | ||
| 35 | Yes | checkpoint 0E | ||
| 36 | Yes | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 83 (hex) then halt. | Checkpoint 83 (hex) will never occur, because this check was done earlier at step 6. |
| 37 | Yes | checkpoint 12 (hex) | ||
| 38 | Yes | Quote: 'Disable the DMA controller' | ||
| 39 | Yes | Quote: 'Disable the speakers and enable timer 2' | ||
| 40 | Yes | checkpoint 16 (hex) | ||
| 41 | Yes | Display "8253 timer channel 0" | ||
| 42 | Yes | Test 8253 timer channel 0. | If an error, send checkpoint 86 (hex). | |
| 43 | Yes | checkpoint 18 (hex) | ||
| 44 | Yes | Display "8253 timer channel 1" | ||
| 45 | Yes | Test 8253 timer channel 1. | If an error, send checkpoint 88 (hex). | |
| 46 | Yes | checkpoint 1A | ||
| 47 | Yes | Display "8253 timer channel 2" | ||
| 48 | Yes | Test 8253 timer channel 2. | If an error, send checkpoint 8A. | |
| 49 | Yes | checkpoint 1C | ||
| 50 | Yes | Display "8237A DMA controller" | ||
| 51 | Yes | checkpoint 1E | ||
| 52 | Yes | Test the 8237A DMA controller. checkpoint 22 will be output many times during this test. |
If an error, send checkpoint 8B then halt. | |
| 53 | Yes | checkpoint 24 (hex) | ||
| 54 | Yes | Quote: 'Init the DMA and 8253 so the DRAM will be refreshed from now on' | ||
| 55 | Yes | checkpoint 26 (hex) | ||
| 56 | Yes | Display "8255 parity check" | ||
| 57 | Yes | checkpoint 28 (hex) | ||
| 58 | Yes | Quote: 'Check if a parity error occurs even if the parity check has been disabled' | ||
| 59 | Yes | Parity error? | If a parity error, send checkpoint 8C. | The 8255 chip should not be signaling that a parity error was detected. |
| 60 | Yes | checkpoint 2A | ||
| 61 | Yes | Display "Check first 2 KB of RAM" | ||
| 62 | Yes | checkpoint 2E | ||
| 63 | Yes | Check the first 2 KB of RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
| ... | ||||
| ... | ||||
| ... | ||||
| ... | ||||
| ... | ||||
| ... | ||||
| ... |